package com.rc.saas.tenant.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

/**
 * Redis客户端使用Lettuce
 * SpringBoot中使用spring-session实现共享会话到redis
 * RedisHttpSessionConfiguration
 * Created by sven on 2019/10/5
 */
@Configuration
//maxInactiveIntervalInSeconds 默认是1800秒过期，这里测试修改为60秒，
// 如果没有配置需要修改的话不需这个配置类，已自动加载了
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)
public class SpringSessionConfig {
	// <!--spring-session 对每一个请求的request进行了一次封装。
	//那么，在Controller里面拿出的request实际上是封装后的request，调用request.getSession()的时候，实际上拿到是Spring封装后的session-->
    //<filter>
    //    <filter-name>springSessionRepositoryFilter</filter-name>
    //    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    //</filter>
    //<filter-mapping>
    //    <filter-name>springSessionRepositoryFilter</filter-name>
    //    <url-pattern>/*</url-pattern>
    //</filter-mapping>

	//spring-session会通过拦截器的方式往session对象中存放、移除sessionId（session.getId()），所以我们在登录、登出、拦截器中会调用session.setAttribute(session.getId(),user);来判断

    //HttpSession session = request.getSession();
	//session.setAttribute(session.getId(),user);
	//model.addAttribute("user",user);
}
